﻿using BCCommon;
using BCDto.WeChatComponent.WeChatKeyword;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService.WeChatComponent.WeChatKeywordService
{
    /// <summary>
    /// 微信关键字服务接口
    /// </summary>
    public interface IWeChatKeywordService
    {
        /// <summary>
        /// 创建微信关键字信息
        /// </summary>
        /// <param name="dto">新的WeChatKeyword信息</param>
        /// <returns></returns>
        WeChatKeywordDto Create(WeChatKeywordRequestDto dto);
        /// <summary>
        /// 分页获取微信关键字信息
        /// </summary>
        /// <param name="keyword">关键字</param>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="index">分页页码</param>
        /// <param name="size">分页页数</param>
        /// <param name="ascending">排序</param>
        /// <returns></returns>
        PageableList<WeChatKeywordDto> GetWeChatKeywordList(string keyword, DateTime? start, DateTime? end, int index, int size, bool? ascending);

        /// <summary>
        /// 获取一条微信关键字信息
        /// </summary>
        /// <param name="weChatKeywordId">指定的WeChatKeyword信息Id</param>
        /// <returns></returns>
        WeChatKeywordDto GetWeChatKeywordById(int weChatKeywordId);

        /// <summary>
        /// 更新一条微信关键字信息
        /// </summary>
        /// <param name="weChatKeywordId">指定的WeChatKeyword信息Id</param>
        /// <param name="dto">WeChatKeyword信息</param>
        /// <returns></returns>
        WeChatKeywordDto Update(int weChatKeywordId, WeChatKeywordRequestDto dto);

        /// <summary>
        /// 删除一条微信关键字信息
        /// </summary>
        /// <param name="weChatKeywordId">指定的WeChatKeyword信息Id</param>
        /// <returns></returns>
        bool Delete(int weChatKeywordId);

        /// <summary>
        /// 获取所有微信关键字信息
        /// </summary>
        /// <returns></returns>
        IEnumerable<WeChatKeywordDto> GetWeChatKeywordAll();
    }
}
